package emp.jsf.servicio.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import emp.entidades.EntAlmacen;
import emp.entidades.EntTipoCambio;
import emp.entidades.EntUbigeo;
import emp.entidades.EntEmpresa;
import emp.jsf.servicio.AlmacenService;
import emp.repositorios.AlmacenRepository;

@Service
@Transactional
public class AlmacenServiceImpl implements AlmacenService{

	@Autowired
	AlmacenRepository almacenRepository;
 
	@Transactional
	@Override
	public List<EntAlmacen> listarAlmacenes(){
		
		List<EntAlmacen> lista;
		lista=almacenRepository.findAll();
		
//		if (lista != null && lista.size() > 0 && lista.get(0).getEntUbigeo() != null && lista.get(0).getEntEmpresa() != null) {
//			lista.get(0).getEntMoneda().getId();
		for(EntAlmacen a:lista){
			a.getEntUbigeo().getDescripcion(); 
			a.getEntEmpresa().getRazonSocial();
		}
		return lista;
	}
	
	public EntAlmacen grabarAlmacen(EntAlmacen ent){
		ent.setEstado(1);
		return almacenRepository.saveAndFlush(ent);
	}
	
	
	public EntAlmacen ActualizarAlmacen(EntAlmacen ent){
		return almacenRepository.saveAndFlush(ent);
	}
	
	
	public void eliminar(String ent){
		EntAlmacen  a=almacenRepository.findOne(Long.valueOf(ent));
		almacenRepository.delete(a);
	}
	
	public EntAlmacen listarAlmacenxCodigo(long id){
		return almacenRepository.findOne(id);
	}
	
	public List<EntUbigeo> listarUbicacionesAlmacen(){
		return almacenRepository.findAll(EntUbigeo.class);
	}

	public List<EntEmpresa> listarEmpresasAlmacen(){
		return almacenRepository.findAll(EntEmpresa.class);
	}

	
}
